#ifndef GRAPHNODE_H
#define GRAPHNODE_H

#include <d3d10_1.h>
#include <D3DX10math.h>

class GraphNode
{
public:
	GraphNode(int id = -1);
	GraphNode(int id, const D3DXVECTOR3& pos) : m_id(id), m_pos(pos) {}
	
	int GetID() const {return m_id;}
	void SetID(int ID);
	const D3DXVECTOR3& GetPos() const;
	void SetPos(const D3DXVECTOR3& pos);

	bool GetIsRoom() const;
	void SetIsRoom(bool b);

	//RoomPoint GetRoomPoint() const;
	//void SetRoomPoint(RoomPoint point);

	//bool operator <(const GraphNode& other) const // map id comparison
	//{
	//	return (m_id < other.m_id);
	//}

	void SetVisited(bool visited);
	bool GetVisited() const;
	
protected:
	D3DXVECTOR3 m_pos;
	int m_id;		

	void* m_data;
	bool m_visited;

	//RoomPoint m_roomPoint;
	bool m_isRoom;
};

#endif GRAPHNODE_H